public class sort {

    public void quickSort(int[] array, int start, int end) {

        if(start >= end) { //递归出口
            return;
        }
        int i = start;
        int j = end;
        int tmp;

        while(i < j) {


            while(i < j && array[i] >= array[j]) {
                i++;
            }

            if(i < j) {
                tmp = array[i];
                array[i] = array[j];
                array[j] = tmp;
            }


            while(i < j && array[j] <= array[i]) {j--;
            }

            if(i < j) {
                tmp = array[i];
                array[i] = array[j];
                array[j] = tmp;
            }
        }


        int pivot = j;
//7.左侧递归快排
        quickSort(array, start, pivot-1); //递归调用
//8.右侧递归快排
        quickSort(array, pivot+1, end); //递归调用
    }
}
